package cn.how2go.data.service.impl;

import cn.how2go.common.vo.JT0200;
import cn.how2go.data.entity.Status;
import cn.how2go.data.mapper.StatusMapper;
import cn.how2go.data.service.StatusService;
import cn.how2go.data.util.DateUtil;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * Created by Administrator on 2019/7/16.
 */
@Service
public class StatusServiceImpl extends ServiceImpl<StatusMapper, Status> implements StatusService {
    @Autowired
    private StatusMapper statusMapper;
    @Override
    public boolean saveStatus(JT0200 bean) {
        Status s = findBySimno(bean.getSimno());
        if(s!=null){
            s.setUpdatetime(DateUtil.str2date(bean.getTime(),"yyyy-MM-dd HH:mm:ss"));
            s.setAcc(bean.getStatus().isAcc()?1:0);
            s.setLocation(bean.getStatus().isLocation()?1:0);
            s.setLatns(bean.getStatus().isLatns()?1:0);
            s.setLongew(bean.getStatus().isLongew()?1:0);
            s.setWork(bean.getStatus().isWork()?1:0);
            s.setMdll(bean.getStatus().isMdll()?1:0);
            s.setOilway(bean.getStatus().isOilway()?1:0);
            s.setEleway(bean.getStatus().isEleway()?1:0);
            s.setDoorlock(bean.getStatus().isDoorlock()?1:0);
            statusMapper.updateById(s);
        }else{
            s = new Status();
            s.setCarid(bean.getCarid());
            s.setSimno(bean.getSimno());
            s.setUpdatetime(DateUtil.str2date(bean.getTime(),"yyyy-MM-dd HH:mm:ss"));
            s.setAcc(bean.getStatus().isAcc()?1:0);
            s.setLocation(bean.getStatus().isLocation()?1:0);
            s.setLatns(bean.getStatus().isLatns()?1:0);
            s.setLongew(bean.getStatus().isLongew()?1:0);
            s.setWork(bean.getStatus().isWork()?1:0);
            s.setMdll(bean.getStatus().isMdll()?1:0);
            s.setOilway(bean.getStatus().isOilway()?1:0);
            s.setEleway(bean.getStatus().isEleway()?1:0);
            s.setDoorlock(bean.getStatus().isDoorlock()?1:0);
            statusMapper.insert(s);
        }
        return true;
    }

    @Override
    public Status findBySimno(String simno) {
        EntityWrapper<Status> entityWrapper = new EntityWrapper<>();
        entityWrapper.eq("simno",simno);
        List<Status> list = statusMapper.selectList(entityWrapper);
        if(list!=null && list.size()>0)
            return list.get(0);
        return null;
    }
}
